/**
 * 处理数据库数据的操作
 */
const models = require('../models/init-models')
class BorrowService {
  // 新增书本借阅记录（借书）
  async createBorrowingRecord(borrowing_id, user_id, book_id, borrowing_date) {
    // 写入数据库
    const res = await models.lib_borrowings.create({
      // 表的字段
      borrowing_id,
      user_id,
      book_id,
      borrowing_date
    })
    return res
  }

  // 更新书本借阅记录（还书）
  async updateBorrowingRecord(id, return_date) {
    try {
      const res = await models.lib_borrowings.update(
        {
          return_date
        },
        {
          where:
            { borrowing_id: id }
        }
      );
      return res;
    } catch (error) {
      console.error(error);
      throw error;
    }
  }

  // 获取借阅记录列表
  async getBorrowingList() {
    const res = await models.lib_borrowings.findAll({
      attributes: ['borrowing_id', 'user_id', 'book_id', 'borrowing_date', 'return_date'],
      include: [{ model: models.lib_users, as: 'user', attributes: ['name'] },
      { model: models.lib_books, as: 'book', attributes: ['title'] }]
    })
    return res
  }

}

module.exports = new BorrowService()
